This invention relates to a mobile agent technology to move a mobile agent to a remote server on a network and to generate an instruction on the remote server in a distributed computer environment and, particularly, to a method of moving a mobile agent to a remote server and identifying other mobile agents with which it communicates.
There has been in the prior art a mobile agent technology to move a mobile agent to a remote server on a network to generate an instruction on the remote server in a distributed computer environment (see: e.g., U.S. Pat. No. 5,603,031 and PUPA 7-509799 (International Application Number PCT/US94/07397, International Publication Number:WO97/02219), xe2x80x9cLatest Internet Technologyxe2x80x9d, Nikkei Communication Separate Edition, Nikkei BP Co., pp 104-117, by Fumihiko Nishida, Susumu Fujiwara, et al).
Such a mobile agent comprises two basic elements which are xe2x80x9cmobile agentxe2x80x9d and xe2x80x9cplacexe2x80x9d. The mobile agent can move around places existing on the network while maintaining its internal state. The mobile agent can contact another agent (a mobile agent or a non-mobile agent) in a place to receive a necessary service. The xe2x80x9cplacexe2x80x9d is a place provided by a server existing on the network to which the agent moves and which supports a contact between agents and absorbs the difference between hardwares and between platforms.
Such mobile agent technology enables a mobile agent to execute jobs which have, so far, been done by a human being, such as adjusting the setting of an internal conference depending on a schedule of employees or a reservation status of a conference room or obtaining desired information distributed on the network.
There is a technology of classifying complex behavior of a mobile agent into basic behavior patterns, providing a template (moderator template) which enables a desired behavior pattern of the mobile agent to be defined, and controlling an activity of issuing a request in each place around which the mobile agent wanders as a predecessor (an activity working in a previous place) and a successor (an activity working in the next place), as disclosed in Japanese patent application 9-92091 filed by the applicant of this application on Apr. 10, 1997 though not laid open at the time when the priority application for this invention was filed.
With this technology, a problem can be solved relying on the cooperativity of the mobile agent not only by moving the agent but also causing it to split itself and/or consolidating its split components. In this technology, however, the model is applied only to a predetermined cooperative algorithm (plan) and the technology has been limited thus far by not being able to provide a flexible cooperative problem-solving technique which allows a pre-defined cooperative algorithm to be reassembled or newly added.
This limitation is due to the fact that the mobile agent has no function to identify itself or to identify a clone created from itself (children, grandchildren, sibling, cousin, uncle and aunt, etc). As a result, the mobile agents cannot recognize and identify each other by an ID which is an index of the split and consolidation of a mobile agent.
A simple self corroboration may be feasible by corroborating the identity by an ID in the form of simple numerals. However, the foregoing may lead to a problem from a security viewpoint in that data may be replaced with malicious data if the ID can be found by anybody.
It is, therefore, an object of this invention to provide a mechanism for allowing a mobile agent to identify its ancestor, children, grandchildren and sibling, etc., by implanting gene information in a mobile agent.
It is another object of this invention to provide highly secured gene information which cannot be understood by a third party.
It is a further object of this invention to provide a mobile agent which can flexibly modify a job to be executed during movement.
Still another object of this invention is to shorten the processing time required from the time when the mobile agent is released to the time when the result is returned.
A mobile agent is provided with ancestor gene information and self gene information. The self gene information is encrypted information indicating the number of generations that the agent is removed from the original agent. When a mobile agent creates a clone (a child agent), it creates gene information of its generation+1 and implants it in the child agent. A mobile agent moving on the network and encountering another agent can obtain gene information of the latter agent and perform a conversion to affirm that they are created from a same ancestor.
This invention provides, in one aspect thereof, a mobile agent, which contacts another mobile agent in a place on a network, comprising: self gene information which is capable of deriving ancestor gene information and generation information by a predetermined conversion logic, a gene conversion module for generating child agent gene information which can derive said ancestor gene information and said generation information by a predetermined conversion logic, said child agent gene information being implanted in said child agent upon creation of the child agent by said mobile agent, and a gene comparison module for determining whether or not the result of the conversion of the gene information obtained from another agent corresponds to said ancestor gene information.
This invention provides, in another aspect thereof, an object held by a mobile agent, which agent contacts another mobile agent in a place on a network, comprising; self gene information which is capable of deriving ancestor gene information and generation information by a predetermined conversion logic, a gene conversion module for generating child agent gene information which can derive said ancestor gene information and said generation information by a predetermined conversion logic, said child agent gene information being implanted in said child agent upon creation of the child agent by said mobile agent, and a gene comparison module for determining whether or not the result of the conversion of the gene information obtained from another agent corresponds to said ancestor gene information.
This invention provides, in further aspect thereof, a method for creating a child agent based on a mobile agent existing in a place on a network, the method comprising; a step of deriving generation information of said mobile agent based on self gene information and ancestor gene information, a step of generating gene information of child agent based on said derived generation information and said ancestor gene information, and a step of generating a child agent which contains the generated gene information of the child agent and said ancestor gene information.
This invention provides, in a further aspect thereof, a method for allowing a mobile agent existing in a place on a network to identify the kind of another mobile agent existing in the same place, the method comprising; a step of obtaining gene information from said another mobile agent, a step of converting said obtained gene information by a predetermined logic, and a step of determining whether or not the result of the conversion corresponds to said ancestor gene information held in said mobile agent.